home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ADA Programming Guide
/
ADA Programming Guide.iso
/
ada_gnu
/
gnat200s
/
features
< prev
next >
Wrap
Text File
|
1996-01-30
|
6KB
|
240 lines
GNAT IMPLEMENTED FEATURES LIST
Current as of 11/30/94
Here is the list of implemented and not implemented features. A more precise
description of the GNAT system is provided in the file 'gnatinfo.txt', which is
part of the GNAT distribution.
Latest features in GNAT version 2.0
===================================
Tasking is now available on the IBM OS/2 version
So tasking is now currently working on Sparc SunOS, SGI and OS/2.
Pragma Import (for variables)
Decimal types
Decimal formal types
Instantiations of decimal types
Range checks on floating point types
package Decimal
package Direct_IO
package Sequential_IO
package Ada.Dynamic_Priorities
package Ada.Streams
package Interfaces.Fortran
package Calendar
All the wide string packages are now complete
Note that all specs of Ada.xxx units are updated to match the latest
Ada 9X spec (RM 5.7 plus a few changes made at the latest WG9 meeting).
Probably the most notable change for users is that the names Status and
Set_Status in Ada.Command.Line have been changed to Exit_Status and
Set_Exit_Status. Also Ada.Strings.Constants is removed and is now a child
package of Ada.Strings.Maps, i.e. it is now Ada.Strings.Maps.Constants
and is found in a-stmaco.ads.
limited conformance checking
update of gnatchop with -s option (see gnatinfo.txt for details)
Updated documentation in gnatinfo.txt (for gnatgf, gnatchop, gnatbl)
Delay Statements (on sparc-sunos, sgi and os/2 only)
Timed Entry Calls (on sparc-sunos, sgi and os/2 only)
Protected Objects (on sparc-sunos, sgi and os/2 only)
Requeue - limited use (on sparc-sunos, sgi and os/2 only)
Derived types from subtypes
Fixed-point handling, including decimal and ordinary fixed-point
handling, is now complete.
=======================================================================
Status of Features
The parser is a full Ada9X parser, which implements the Ada 9X language
as defined by version 5.7 of the Draft International Standard. Semantic
analysis and code generation are in constant evolution.
============================================================================
= All of Ada 83 is implemented EXCEPT the following unimplemented features =
============================================================================
The Constrained attribute
Derived types from private types
The following language-defined checks are not implemented:
Discriminant Check
Elaboration Check
Length Check
Range Check on the elaboration of a subtype_indication
limited Conformance checking
Language-Defined Pragmas
Pack for arrays
Record Layout
Record Representation Clauses
Shared Variables
Input-Output for Integer for type Long_Long_Integer.
(only Put currently supported for Long_Long_Integer not Get)
==================================================
= All of Ada 9X implemented except the following =
==================================================
CORE
Aggregates for tagged types
User-defined Initialize/Adjust/Finalize in complex cases:
records or arrays containing controlled components
functions returning controlled objects
Protected entry families
Condition protected entry calls
Requeue without abort
Requeue Statement involving task entries
No range checking on modular types
Input-Output for Modular Types
(Only Put is supported currently, Get not yet supported)
Input-Output for Decimal Types
Input-Output for Wide Text
Objects of type with unknown discriminants
Unimplemented subprograms in package Ada.Text_IO
Flush
Look_Ahead
Get_Immediate
Accessibility checks
Stream-Oriented Attributes of Specific Types
Stream-Oriented Attributes of Class-Wide Types
ANNEX A. PREDEFINED LANGUAGE ENVIRONMENT
Ada.Exceptions
Ada.Interrupts
Ada.Streams.Stream_IO
Ada.Wide_Text_IO
Ada.Wide_Text_IO.Complex_IO
ANNEX B. INTERFACING TO OTHER LANGUAGES
The body of Interfaces.COBOL is not yet implemented
ANNEX C. SYSTEMS PROGRAMMING
Machine code insertions or intrinsic subprograms
Interrupt support
The body of packag Interrupts is not implemented
Preelaboration requirements are not fully met
Shared Variable Control is not fully implemented
ANNEX D. REAL-TIME SYSTEMS
Tasking restrictions
Synchronous task control
Asynchronous task control (optional in any case)
ANNEX E. DISTRIBUTED SYSTEMS
The distribution annex is under active development. Stub generation
is not yet implemented, and there is no configuration control program.
All pragmas are fully implemented.
ANNEX F. INFORMATION SYSTEMS
Machine_Radix attribute definition clause
Ada.Text_IO.Editing
Ada.Wide_Text_IO.Editing
ANNEX G. NUMERICS
Accuracy requirements for floating-point and complex not fully met
ANNEX H. SAFETY AND SECURITY
pragma Normalize_Scalars
pragma Reviewable
pragma Inspection_Point
Safety and security restrictions
ANNEX I. OBSOLESCENT FEATURES
The constrained attribute
Interrupt entries
ANNEX J. LANGUAGE-DEFINED ATTRIBUTES
Adjacent
Alignment
Bit_Order
Body_Version
Caller
Ceiling
Compose
Constrained
Copy_Sign
Definite
Exponent
External_Tag
Floor
Fraction
Identity
Input
Leading_Part,
Max_Size_In_Storage_Elements
Machine
Model
Output
Pred for fixed-point types
Pred for floating-point types
Read
Remainder
Rounding
Scaling
Storage_Pool,
Succ for fixed-point types
Succ for floating-point types
Truncation
Unbiased_Rounding
Valid
Version
Write
ANNEX K. LANGUAGE DEFINED PRAGMAS
Atomic
Atomic_Components
Attach_Handler
Controlled
Discard_Names
Export
Inspection_Point
Interrupt_Handler
Linker_Options
Locking_Policy
Memory_Size
Normalize_Scalars
Queuing_Policy
Restrictions
Reviewable
Shared
Task_Dispatching_Policy
Volatile_Components